前回まででsqliteを使ったサンプルアプリケーションの起動までを紹介しました。
sqliteは構築や扱いが簡単で便利なデータベースですが、
今回はMySQLを利用するように変更したいと思います。
前回までのエントリー
Pyramidのインストールまで
サーバーの起動まで
MySQLサーバーのインストールは他のサイトか過去のエントリーを参考にしてみてください。
NginxとuwsgiとDjango
※今回はmysql-pythonをpipで直接インストールしません。
MySQLのサーバーが起動されている状態でデータベースとユーザーが登録されている状態にします。
データベース名:sample
ユーザー名:user
パスワード:user_pass
用意が出来たら下記コマンドを実行するとMySQLに接続出来ると思います。
development.iniを開き、sqliteの接続先の設定をmysqlに変更します。
直接pipでmysqlドライバーをインストールせず前回同様にsetup.pyに記述します。
sampleプロジェクトのmodelクラスがTEXT型のunique設定になっているのでMySQLでサポートされていません。
sample/sample/models.pyを編集してStringに変更するか、unique属性を削除してください。
せっかくsetup.pyに必要なライブラリーを記述したので一度pythonbrewの仮想環境を再作成したいと思います。
※2012/3/24追記
Pyramid1.3正式版からコマンドがpopulate_sampleからinitialize_sample_dbに変更されました。
仮想環境の構築からデータベースの設定までコマンドだけで簡単に用意できるようになりました。
populate.pyに初期データの登録なども追加しておく事で、途中から開発者が追加された場合でもスムーズに作業が開始できます。
フルスタックなフレームワークではないですが、開発に必要な基本的機能が備わっているので小規模なサービスを作るには非常に便利だと思います。
sqliteは構築や扱いが簡単で便利なデータベースですが、
今回はMySQLを利用するように変更したいと思います。
前回までのエントリー
Pyramidのインストールまで
サーバーの起動まで
MySQLサーバーのインストールは他のサイトか過去のエントリーを参考にしてみてください。
NginxとuwsgiとDjango
※今回はmysql-pythonをpipで直接インストールしません。
MySQLのサーバーが起動されている状態でデータベースとユーザーが登録されている状態にします。
データベース名:sample
ユーザー名:user
パスワード:user_pass
用意が出来たら下記コマンドを実行するとMySQLに接続出来ると思います。
mysql -u user -puser_pass sample
development.iniを開き、sqliteの接続先の設定をmysqlに変更します。
#sqliteの接続設定
#sqlalchemy.url = sqlite:///%(here)s/sample.db
#mysqlの接続設定
sqlalchemy.url = mysql://user:user_pass@localhost:3306/sample?charset=utf8&use_unicode=1
sqlalchemy.pool_recycle = 3600
直接pipでmysqlドライバーをインストールせず前回同様にsetup.pyに記述します。
requires = [
'pyramid',
'SQLAlchemy',
'transaction',
'pyramid_tm',
'pyramid_debugtoolbar',
'zope.sqlalchemy',
'waitress',
'mysql-python', <-- pysqliteから変更
]
sampleプロジェクトのmodelクラスがTEXT型のunique設定になっているのでMySQLでサポートされていません。
sample/sample/models.pyを編集してStringに変更するか、unique属性を削除してください。
from sqlalchemy import (
Column,
Integer,
String, <-- TextからStringに変更
)
name = Column(String(200), unique=True) <-- TextからString(200)に変更
せっかくsetup.pyに必要なライブラリーを記述したので一度pythonbrewの仮想環境を再作成したいと思います。
deactivate
rmvirtualenv pyramid
mkvirtualenv pyramid
python setup.py develop
populate_sample development.ini
※2012/3/24追記
Pyramid1.3正式版からコマンドがpopulate_sampleからinitialize_sample_dbに変更されました。
仮想環境の構築からデータベースの設定までコマンドだけで簡単に用意できるようになりました。
populate.pyに初期データの登録なども追加しておく事で、途中から開発者が追加された場合でもスムーズに作業が開始できます。
フルスタックなフレームワークではないですが、開発に必要な基本的機能が備わっているので小規模なサービスを作るには非常に便利だと思います。