Mojolicious:来自现有数据库的结果集

Mojolicious: ResultSet from existing Database

我目前正在学习 Mojolicious。这是有道理的,而且非常简单,但我不知道如何为现有数据库获取结果集。经过大力搜索后,我在 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');

您只需修改

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

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

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

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