I do not think I understand the scope of DBIx::Class
Do I have to manually create a database with regular SQL first, then use the schemaloader (or manually code the schema/resultsets)?
Or is there a way to tell DBIx::Class
to go ahead and create the tables from a manually coded schema and resultset?
I ask b/c if I need to create the database via SQL CREATE TABLE
statement, I have the column essentially duplicated in the ResultSet code, OR I need to rely on schemaloader which I assume is inefficient and inappropriate for production.
You can deploy()
your schema:
my $schema = MyApp::Schema->connect(
$dsn,
$user,
$password,
);
$schema->deploy( { add_drop_table => 1 } );
Of course, the above will drop your existing tables :)
You can go either route. You can create a schema and get DBIx::Class to analyse it, or you can get DBIx::Class to build the schema to you.
The former does not have to be inefficient for production, since you can get DBIx::Class to save the generated code so that it doesn't have to do the analysis every run.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With