Mojolicious:现有数据库中的ResultSet

时间:2017-04-10 18:35:58

标签: sql database perl odbc mojolicious

我目前正在学习Mojolicious。这很有道理并且非常简单,但我无法弄清楚如何为现有数据库获取ResultSet。经过精力搜索,我偶然发现了here。但是我读到的所有内容都使用SQLite。如果它不使用SQLite,那么看起来你似乎无法使用CRUD命令(我认为这在某种程度上违背了MVC模型的目的)。 有人能指出我正确的方向吗?目前我有类似的东西..

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');

1 个答案:

答案 0 :(得分:1)

您只需修改

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

到您要使用的数据库引擎的适当DSN(以及用户名和密码)

请查看DBI以获取有关DSN的更多帮助

另请注意,DBIx::Class::Schema::Loader允许您从现有数据库自动创建架构。这样做可能比猜测正确的设置

更好