Revision history for Interchange6::Schema 0.060_93 Fri Dec 26 10:41:23 2014 CET [ENHANCEMENTS] * Add "me" DBIx::Class::Helper (Peter Mottram). * Add SQL literal AS to selling_price query within listing method from Product class (Peter Mottram). [TESTS] * Stop using t/var as temporary directory in tests and set TMPDIR => 1 instead. Prevents exhausting of socket file path max length (108 on Linux systems). (Sam Batschelet, Stefan Hornburg, Peter Mottram). * Recheck DBIx::Class deployment dependencies before running tests (Peter Mottram). * Retrieve and display mysqld version info in top-level test script to help debug GH #149 (Peter Mottram). * Fix BaseAttribute test array order bug (Peter Mottram). 0.060_92 Mon Dec 22 13:44:34 2014 CET [ENHANCEMENTS] * Ensure that selling_price method in Product class always return defined price (Peter Mottram). [BUG FIXES] * Use DBIx::Class::Optional::Dependencies to ensure correct deployment prerequsites for DBIx::Class (Peter Mottram). * Add version to prerequisite on DBIx::Class::Helpers to ensure that DBIx::Class::Helpers::DateTime is available (Peter Mottram). * Fix test problems with PriceModifier and SQLite floats (Peter Mottram, GH #148). 0.060_91 Sat Dec 20 14:56:52 2014 CET [ENHANCEMENTS] * Add base ResultSet class which loads shortcut and correlate relationship helper class (Peter Mottram). * Replace count method with has_rows in Message class (Peter Mottram). * Add ResultSet class for products including listing method (Peter Mottram). * Add priority column to NavigationProduct (Peter Mottram). * Add role 'user' to user on insert (Peter Mottram). * Remove anonymous and authenticated roles and adjust selling_price and tier_pricing (Peter Mottram). * Add DateTime and QuoteNames helpers to schema (Peter Mottram). [BUG FIXES] * Fix cascade relationships between User and UserRole classes (Peter Mottram). * Use left join for state relationship of Address class (Jeff Boes, Peter Mottram). * Fix problems with path method in Product class (Peter Mottram, GH #133, #145). * Overload delete in Address and OrderlinesShipping classes (Peter Mottram). [DOCUMENTATION] * Add note about MySQL strict mode settings and on_connect_do parameters to DatabaseSupport manual (Peter Mottram). * Fix link to PriceModifier class in Manual::Classes (Stefan Hornburg). * Fix start_date and end_date links in POD for PriceModifier class (Stefan Hornburg). * Fix create database statement for MySQL (Marco Pessotto, GH #147). * Fix wrong method name for has_descendant in POD for Navigation class (Sam Batschelet). * Clear out boilerplate from modules (Stefan Hornburg, Sam Batschelet, Peter Mottram, GH #134, #137) * Add description section to POD for Address class (Peter Mottram). [TESTS] * Update PriceModifier tests (Peter Mottram). * Replace on_connect_call with on_connect_to in MySQL test role (Peter Mottram). * Add test for attribute_iterator method from Product class with hashref argument (Peter Mottram). * Clean up relationship tests (Peter Mottram). * Allow fixtures to avoid some foreign key constraints on clear_orders (Peter Mottram). * Add tests for Address delete cascades (Peter Mottram). * Add fixtures for ShipmentCarrier and ShipmentRate classes (Peter Mottram). * Remove pod tests from schema_sanity.t (Peter Mottram). 0.060 Thu Nov 27 16:30:51 2014 CET [BUG FIXES] * Fix many-to-many zones relationship in State class (GH #132, Grega Pompe, Peter Mottram). 0.060_03 Thu Nov 27 11:43:22 2014 CET [ENHANCEMENTS] * Add name method to User class (Peter Mottram). * Add quantity_in_stock to Product class (Peter Mottram). [BUG FIXES] * Fix columns and relations with same name in the Message class (Peter Mottram). [TESTS] * Add first_name and last_name data to user fixtures (Peter Mottram). * Use hashrefs in fixtures for add_attributes calls prevent warnings (Peter Mottram). * Add more variants and also simple product attributes to fixtures (Peter Mottram). * Change Test::Role::Fixtures to use Moo::Role (Peter Mottram). * Add navigation fixture tests (Peter Mottram). 0.060_02 Thu Nov 6 16:13:18 2014 CET [ENHANCEMENTS] * Allow optional argument for precision in average_rating method of the Product class (Peter Mottram). [TESTS] * Add load_all_fixtures method to test fixtures (Peter Mottram). * Add fixtures to Test::Fixtures that were previously missed (Peter Mottram). * Test fixtures can now be used by consuming modules (Peter Mottram). * Merge all fixtures from the populate_ic5 script in the demo shop (Peter Mottram). 0.060_01 Tue Nov 4 21:05:45 2014 CET [API CHANGES] * Switch to DBIx::Class::Candy (Peter Mottram). * Pricing changes (Peter Mottram, Sam Batschelet, GH #117, #122): - GroupPricing class renamed to PriceModifier - start_date and end_date columns added * Fix primary key columns with multiple plurals (Jure Kodzoman, Peter Mottram): - navigation_attributes_values_id to navigation_attribute_values_id - product_attributes_values_id to product_attribute_values_id - user_attributes_values_id to user_attribute_values_id * Review related changes (Peter Mottram, Sam Batschelet): - add top_reviews and average_rating to Product class - reviews method now accepts search args * Add description to Role class (Peter Mottram). [ENHANCEMENTS] * Add many_to_many relationship from Navigation to Product class (Peter Mottram). * Add siblings_with_self method to Navigation class (Peter Mottram). * Add tier_pricing and selling_price methods to Product class (Peter Mottram). * New helper interchange6-create-schema-png (Peter Mottram). * Add search_attribute_values (Sam Batschelet, GH #101). [BUG FIXES] * Fix order_by in attribute_iterator method of the Product class (Peter Mottram). * Make name column of Role class unique (Peter Mottram). [DOCUMENTATION] * Add instructions on creating databases (Peter Mottram, GH #103). [TESTS] * Add quote_names to db engine connect_info (Peter Mottram). * Replace Mock::DateTime with MockTime (Peter Mottram). * Add role and pricing fixtures (Peter Mottram, Sam Batschelet). 0.053 Thu Oct 9 14:39:59 2014 EDT [BUG FIXES] * Remove _map_namespaces method from Interchange6::Schema (Peter Mottram). [TESTS] * Adjust shipment test to deal with SQLite's notion of numeric columns (Peter Mottram). * Skip MySQL tests if the constructor dies (Peter Mottram). * Force standard locale for PostgreSQL tests (Peter Mottram). 0.052 Sun Oct 5 08:24:24 2014 EDT [BUG FIXES] * Fix relationship between Session and PaymentOrder result classes (Peter Mottram). 0.051 Fri Aug 15 11:06:33 2014 CEST [BUG FIXES] * Fix odd error with populating zones (Peter Mottram, Stefan Hornburg, Sam Batschelet, GH #102). * Turn session relationship in PaymentOrder result class into might_have (Stefan Hornburg). [DOCUMENTATION] * Add explanation of payment_sessions_id and sessions_id fields to the documentation of the PaymentOrder result class (Stefan Hornburg). [TESTS] * Add checks on payment_orders to expire test (Marco Pessotto, GH #107). * Add test to check if the payment is still there after session removal (Marco Pessotto, GH #106). * Fix flat rate shipping price test (Peter Mottram, GH #105). * Switch from die to plan skip_all if Test::PostgreSQL->new fails (Peter Mottram, GH #104). 0.050 Wed Aug 13 10:37:54 2014 CEST [API CHANGES] * Add Message, ProductReview and OrderComment result class (Peter Mottram). * Remove filter_column from username in User result class and replace it with overloaded new and update methods (Peter Mottram, see RT #95054). [ENHANCEMENTS] * Stop using literal defaults for booleans (Peter Mottram). * Add primary key to Permission result class (Peter Mottram, GH #97). * Improve methods of Zone result class to support ISO codes as input (Peter Mottram). * Add unique constraint to State result class (Peter Mottram). [BUG FIXES] * Remove superfluous many_to_many relationship from ProductAttribute result class (Grega Pompe, GH #94) * Round price in shipment price to avoid SQLite problems. [DOCUMENTATION] * Add Tree::AdjacencyList accessors to Navigation result class (Peter Mottram, GH #98). * Improve documentation on attribute_iterator method from Product result class (Peter Mottram). [TESTS] * Extend variant tests (Peter Mottram). * Switch to role based testing with Test::Roo (Peter Mottram). * Remove Test::Most from schema sanity test (Peter Mottram, GH #84). * Update available Perl versions for Travis (Peter Mottram). 0.040 Wed Jul 2 11:13:09 2014 CEST [API CHANGES] * Update result class relationships and methods with new naming standards outlined in issue (Sam Batschelet, Peter Mottram, GH #76, GH #81). * Nickname is no longer lower-cased in User class (Peter Mottram). * Change precision to decimal_places in Tax class (Peter Mottram). * Remove postal ranges from Zone class (Peter Mottram). [ENHANCEMENTS] * Change password encryption to bcrypt (Peter Mottram, GH #24). * Add has_many relationship from Country to State (Peter Mottram). * Add zone_states and states relationships to State class (Sam Batschelet, GH #66). * Add shipment_rates has_many relationship to ShipmentMethod class (Sam Batschelet). * Add min_weight, max_weight and shipment_method belongs_to relationship to ShipmentRate class (Sam Batschelet). [BUG FIXES] * Remove media_displays relationship from Product (Peter Mottram). * Fix cart and cart resultset setup (Peter Mottram, GH #79). * Fix role->users many-to-many relationship (Stefan Hornburg (Racke)). [TESTS] * Get rid of TEST_DBIC environment variable (Stefan Hornburg (Racke)). * Add travis support (Peter Mottram, GH #69). * Add support for code coverage tests (Peter Mottram). * Add flat rate shipping test (Sam Batschelet). [DOCUMENTATION] * Add shipment result classes to main POD (Stefan Hornburg (Racke)). * Fix typo in POD of Zone class (Stefan Hornburg (Racke)). 0.032 Mon Apr 7 19:59:30 2014 CEST [BUG FIXES] * Add missing relationships to country and shipments (Marco Pessotto, GH #65). * Fix Result::Tax and Component::Validation classes due to update bug (Peter Mottram). [TESTS] * Add tests for specific databases with Test::DBIx::Class (Peter Mottram). * Code coverage tests for zones (Peter Mottram). 0.031 Sat Apr 5 18:08:27 2014 CEST [BUG FIXES] * Use Test::DBIx::Class safely for RELEASE_TESTING only (Peter Mottram, GH #63). [TESTS] * Silence media test (Stefan Hornburg (Racke)). 0.030 Fri Apr 4 18:48:47 2014 CEST [ENHANCEMENTS] * Extend path method from Product result class to use "type" parameter as search option (Stefan Hornburg (Racke)). * Overhaul media result classes (Marco Pessotto, GH #54, #59, #61). * Add shipment result classes (Sam Batschelet, GH #57). * Add basic schema sanity testing and fix result classes based on the result (Peter Mottram, GH #56, #60). * Added column payment_fee to PaymentOrder result class (Marco Pessotto, GH #53). [BUG FIXES] * Fix missing size of foreign keys for country_iso_code. Caused problems which PostgreSQL where columns ended up with size 1 (Stefan Hornburg (Racke)). * Add unique constraint on zone in Result::Zone (Peter Mottram, GH #55). * Bump up Perl requirement to 5.14 (Peter Mottram, GH #51). 0.020 Mon Mar 31 17:12:33 2014 CEST [API CHANGES] * Switch to using single primary key for CartProduct result class (Stefan Hornburg (Racke)). [ENHANCEMENTS] * Add NavigationAttribute and NavigationAttributeValue result classes (Sam Batschelet, GH #36). * Add Zone, ZoneCountry and ZoneState result classes (Peter Mottram, GH #33). * Add Role::Errors class (Peter Mottram, GH #33). * Add Tax result and resultset class (Peter Mottram, GH #38). * Add Component::Validation class (Peter Mottram, GH #48). [BUG FIXES] * Fix definition of numeric fields (Peter Mottram, GH #49). [DOCUMENTATION] * Reorganize classes in main POD. 0.019 Fri Mar 21 09:11:06 2014 CET [ENHANCEMENTS] * Inflate data from datetime columns into DateTime objects, alongside with tests for classes missing the inflation component (Peter Mottram). [API CHANGES] * Change states_iso_code column to states_id foreign_key in Address result class (Sam Batschelet). * Make country_iso_code a foreign key in State result class (Sam Batschelet). * Add State and Country relationships to Address result class (Sam Batschelet). * Change name of primary_key for State result class to states_id (Sam Batschelet). [BUG FIXES] * Prevent warning originating from find_variant method caused by missing values in input (Stefan Hornburg (Racke)). [TESTS] * Avoid DBIC::Storage::DBI::SQLite RT79576 by adding a prerequisite on DBD::SQLite 1.38_01 (Peter Mottram). 0.018 Tue Mar 11 17:11:35 2014 CET [API CHANGES] * Replace order_number with orders_id as foreign key for PaymentOrder and Orderline resultsets. * Remove shipping_method and tracking_number from Orderline resultset. * Fix many_to_many relationships. 0.017 Mon Mar 10 01:00:54 2014 CET [API CHANGES] * Increase size of sku column from 32 to 64 (GH #19, Šimun Kodžoman). 0.016 Sat Mar 8 18:32:53 2014 CET [API CHANGES] * Remove tracking_number field from Order schema. [ENHANCEMENTS] * Add methods find_attribute_value, update_attribute_value and find_or_create_attribute to User result class. [DOCUMENTATION] * Move column descriptions for the Product resultset to the individual columns. 0.015 Sun Feb 23 10:41:44 2014 CET [API CHANGES] * Add users_id column to PaymentOrder result class. * Add shipping_addresses_id column to Order result class. [BUG FIXES] * Fix User to Role many_to_many relationship (GH #15). 0.014 Sat Feb 15 15:52:37 2014 CET [API CHANGES] * Add nickname column to User result class. * Add created and last_modified columns to Product result class. 0.013 Mon Jan 27 14:25:43 2014 CET [API CHANGES] * Change author column to author_users_id in Media result class and link it to User result class. * Add canonical and Variant accessors to Product result class. This implies is_nullable for canonical_sku column. * Add UserAttributeValue result class. * Add type, priority and dynamic column to Attribute result class. * Add recommend, proper sku relationship and drop name from Review result class. [ENHANCEMENTS] * Add has_many ProductAttribute relationship to Attribute result class. * Add methods for adding, updating and deleting attributes to User result class. * Add add_variants and find_variant method to Product result class. * Let attributes_iterator method of Product result class return hash reference on request. * Add selected column to output of attribute_iterator method. * Return all attributes of children resp. sibling products from attribute_iterator method. [TESTS] * Add attribute_iterator tests. 0.012 Tue Jan 7 16:07:29 2014 CET [API CHANGES] * Rename when_added column of CartProduct result class to created. * Add last_modified column to CartProduct result class. [ENHANCEMENTS] * Add attribute_iterator method to Product result class. * Add custom Session resultset with expire method. 0.011 Thu Jan 2 14:14:18 2014 CET [API CHANGES] * Add Attribute, AttributeValue and ProductAttributeValue result classes. * Change ProductValue result class. * Remove ProductAttributes result class. 0.010 Fri Dec 27 13:24:45 2013 CET [API CHANGES] * Use created and last_modified columns for Navigation result set instead of entered. * Rename zip column in Address result set to postal_code. * Make order_number in PaymentOrder result class nullable. [BUG FIXES] * Add unique constraint on username. [TESTS] * Add tests for Navigation result class and path method from Product result class. * Test password encryption. * Add POD tests. [DOCUMENTATION] * Add documentation for records method in Populate classes. * Fix is_nullable value in documentation of Cart result class. 0.009 Sat Dec 21 01:23:04 2013 CET [API CHANGES] * Use datetime type for all created and last modified columns. * Use set_on_update for all last_modified columns. * Change uri and gtin in Product result class to allow NULL and require unique. * Change weight to include two digits. * Change column types for primary keys of Country and State result class. [TESTS] * Add simple test for Address and Session result class. 0.008 Mon Dec 16 21:20:27 2013 EST [API CHANGES] * Remove primary key country_iso_code from State resultset. [ENHANCEMENTS] * Added command line parameters to interchange6-create-database. -Kaare Rasmussen * Added StateLocale and CountryLocale populate classes. [TESTS] * Add a few additional tests with State and Country resultset. 0.007 Thu Dec 12 09:30:25 2013 CET [API CHANGES] * Remove ProductClass from Schema. [TESTS] * Add a few more tests with Product and Country resultset. [DOCUMENTATION] * Add a list of resultsets to main POD. * Add description to main POD. 0.006 Mon Dec 9 16:19:42 2013 CET [API CHANGES] * Change primary key for Country resultset to country_iso_code. * Change default value of show_states in Country resultset to false. [ENHANCEMENTS] * Add State resultset. [BUG FIXES] * Make parent_id in Navigation resultset nullable. Otherwise we can't add toplevel records because of the constraint imposed by DBIx::Tree. [DOCUMENTATION] * Fix mismatch of POD for when_added column in CartProduct resultset (GH #4). 0.005 Sat Dec 7 20:59:04 2013 CET [API CHANGES] * Change column parent in Navigation resultset to parent_id. [ENHANCEMENTS] * Use Tree::AdjacencyList with Navigation resultset. * Add Country and Review resultset. * Add path method to Product resultset. 0.004 Sat Nov 30 14:47:13 2013 CET [BUG FIXES] * Allow NULL values for foreign keys users_id and sessions_id. * Add missing primary key directive to CartProduct resultset. * Use datetime type in CartProduct resultset. 0.003 Tue Nov 19 20:58:07 2013 CET [BUG FIXES] * Pass mysql_version to producer to avoid broken booleans (GH #1). * Remove default value from sessions' last_modified column. * Use datetime types in user resultset. [ENHANCEMENTS] * Add simple schema test with DBICx::TestDatabase. * Added EncodedColumn for password field. 0.002 Fri Nov 15 12:24:47 2013 CET * Mark interchange6-create-database for install. 0.001 Fri Nov 15 10:31:02 2013 CET * Initial release.