2017-04-10 4 views
2

現在Mojoliciousを学習中です。それは理にかなっており、かなり簡単ですが、既存のデータベースのResultSetを取得する方法を理解することはできません。激しい検索の後、私はhereを通してかなり素敵な散歩に出くわしました。しかし、私が読んだものはすべてSQLiteを使っています。 SQLiteを使用しない場合は、CRUDコマンドを使用できないように見えます(MVCモデルの目的をある程度破ると思います)。 誰かが私を正しい方向に向けることができますか?現在、私は何かを持っています。Mojolicious:既存のデータベースからのResultSet

use lib 'C:\Users\gflynn\Desktop\WorkingCopies\MojoliciousAPP\Mojolicious 

\moblo\lib\Moblo'; 
use Moblo::Schema; 

my $schema = Moblo::Schema->connect('dbi:ODBC:driver={SQL Server};Server="server";database="db";uid="username";pwd="password"') or "Could not Connect!"; 
$schema->deploy(); 

です。

package Moblo::Schema::Result::Complaints; 
use base qw/DBIx::Class::Core/; 

__PACKAGE__->table('Form_Complaints'); 

__PACKAGE__->add_columns(
    id => { 
    data_type => 'integer', 
    is_auto_increment => 1, 
    }, 

    FirstName => { 
    data_type => 'text', 
    }, 

    LastName => { 
    data_type => 'text', 
    }, 

    Address => { 
    data_type => ' datetime', 
    }, 

    City => { 
    data_type => 'text', 
    }, 

    ZipCode => { 
    data_type => 'integer', 
    }, 

    Phone => { 
    data_type => 'text', 
    }, 

    AltPhone => { 
    data_type => 'text', 
    }, 

    Email => { 
    data_type => 'text', 
    }, 

    Complaint => { 
    data_type => 'text' 
    } 

); 
# Tell DBIC that 'id' is the primary key 
__PACKAGE__->set_primary_key('id'); 
+0

'... \ moblo \ lib \ Moblo \ Moblo'に' Schema.pm'がありますか?さもなければあなたの '使用'はそれを見つけません。 – Borodin

+0

どのデータベースエンジンが好きですか? – Borodin

+0

@Borodinはい私はSchema.pmを持っていますが、それは '\ moblo \ lib \ Moblo'にあり、私はむしろ通常のSQL ODBC接続です。 – gregnnylf94

答えて

1

あなたは単にあなたがより多くの助けのためDBIを見てみましょう

を使用するデータベースエンジンの適切なDSN(ユーザー名とパスワード)に

Moblo::Schema->connect('dbi:SQLite:moblo.db') 

を変更する必要がありますは、既存のデータベースからスキーマを自動的に作成することができます。正しい設定が何であるかを推測するよりもおそらくそれを行うほうがよいでしょう

+0

私は私の質問では少し不明であったと思います。既存のデータベースを持っている場合でも、上記のようにテーブルを定義する必要はありますか?情報ありがとうございました。 – gregnnylf94

+0

@ gregnnylf94:更新情報 – Borodin

+0

ありがとうございました!これで私はもう一度行くだろう。 – gregnnylf94

関連する問題