Error: DDL statements are not allowed in transactions while running setup:upgrade. Running Data Patchmain.CRITICAL: Plugin class doesn't existWhy Getting categories and names on product view page Magento 2 fails?I have created an extension to show Customer Company Name in Order grid. But when creating new order, order is not showing in order gridMagento offline custom Payment method with drop down listMonolog Error After 2.2 UpgradeFatal error: Uncaught RuntimeException:Magento 2 How to upgrade existing custom customer address attribute?Incompatible argument type error during compilation in Magento2.2.5?Error Database Magento 2.3 migration from localhost to serverHow to change “input file” storage location in customer account edit form
Can an open source licence be revoked if it violates employer's IP?
What do I need to do, tax-wise, for a sudden windfall?
Is it good practice to create tables dynamically?
In American Politics, why is the Justice Department under the President?
Am I being scammed by a sugar daddy?
Can a 40amp breaker be used safely and without issue with a 40amp device on 6AWG wire?
Nth term of Van Eck Sequence
Does WiFi affect the quality of images downloaded from the internet?
Was the Lonely Mountain, where Smaug lived, a volcano?
Print "N NE E SE S SW W NW"
What publication claimed that Michael Jackson died in a nuclear holocaust?
LWC: detect last element in for:each iteration
Harley Davidson clattering noise from engine, backfire and failure to start
What is the language spoken in Babylon?
Are skill challenges an official option or homebrewed?
What class is best to play when a level behind the rest of the party?
Approach sick days in feedback meeting
A team managed by my peer is close to melting down
Do they make "karaoke" versions of concertos for solo practice?
What does this line mean in Zelazny's The Courts of Chaos?
Changing the PK column of a data extension without completely recreating it
Is it a good security practice to force employees hide their employer to avoid being targeted?
Is it advisable to add a location heads-up when a scene changes in a novel?
Can I get a photo of an Ancient Arrow?
Error: DDL statements are not allowed in transactions while running setup:upgrade. Running Data Patch
main.CRITICAL: Plugin class doesn't existWhy Getting categories and names on product view page Magento 2 fails?I have created an extension to show Customer Company Name in Order grid. But when creating new order, order is not showing in order gridMagento offline custom Payment method with drop down listMonolog Error After 2.2 UpgradeFatal error: Uncaught RuntimeException:Magento 2 How to upgrade existing custom customer address attribute?Incompatible argument type error during compilation in Magento2.2.5?Error Database Magento 2.3 migration from localhost to serverHow to change “input file” storage location in customer account edit form
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;
Magento 2.3.1
After making the data patch @ following location
vendor/ModuleName/Setup/Patch/Data/AddMyColumnPatch.php
code given below for AddMyColumnPatch.php. When I run bin/magento setup:upgrade to get this patch installed I get following error at cli.
DDL statements are not allowed in transactions
I have used following file as reference to add column to my table using data patch.
vendor/magento/module-quote/Setup/Patch/Data/InstallEntityTypes.php
Follow lines from 47 to 65
My AddMyColumnPatch.php code is:
<?php
namespace VendorModuleNameSetupPatchData;
use MagentoFrameworkSetupPatchDataPatchInterface;
use MagentoFrameworkSetupModuleDataSetupInterface;
use MagentoFrameworkSetupPatchPatchRevertableInterface;
use MagentoQuoteSetupQuoteSetupFactory;
use MagentoSalesSetupSalesSetupFactory;
use PsrLogLoggerInterface;
/**
*/
class AddressSuburbPatch implements DataPatchInterface, PatchRevertableInterface
/**
* Attribute Code of the Custom Attribute
*/
const CUSTOM_ATTRIBUTE_CODE = 'my_column';
/**
* @var MagentoFrameworkSetupModuleDataSetupInterface
*/
private $moduleDataSetup;
/**
* @var MagentoQuoteSetupQuoteSetupFactory
*/
private $quoteSetupFactory;
/**
* @var MagentoSalesSetupSalesSetupFactory
*/
private $salesSetupFactory;
/**
* @var PsrLogLoggerInterface
*/
private $logger;
/**
* @param MagentoFrameworkSetupModuleDataSetupInterface $moduleDataSetup
*/
public function __construct(
ModuleDataSetupInterface $moduleDataSetup,
QuoteSetupFactory $quoteSetupFactory,
SalesSetupFactory $salesSetupFactory,
LoggerInterface $logger
)
$this->moduleDataSetup = $moduleDataSetup;
$this->quoteSetupFactory = $quoteSetupFactory;
$this->salesSetupFactory = $salesSetupFactory;
$this->logger = $logger;
/**
* @inheritdoc
*/
public function apply()
$this->moduleDataSetup->getConnection()->startSetup();
$this->logger->debug('DDL Statements error');
$quoteSetup = $this->quoteSetupFactory->create(['setup' => $this->moduleDataSetup]);
$quoteSetup->addAttribute('quote_address', self::CUSTOM_ATTRIBUTE_CODE, ['type' => 'text']);
$salesSetup = $this->salesSetupFactory->create(['setup' => $this->moduleDataSetup]);
$salesSetup->addAttribute('order_address', self::CUSTOM_ATTRIBUTE_CODE, ['type' => 'text']);
$this->logger->debug('Script working');
$this->moduleDataSetup->getConnection()->endSetup();
/**
* @inheritdoc
*/
public static function getDependencies()
return [
];
public function revert()
$this->moduleDataSetup->getConnection()->startSetup();
$this->moduleDataSetup->getConnection()->endSetup();
/**
* @inheritdoc
*/
public function getAliases()
return [];
magento2 patches magento2.3.1 setup-script declarative-schema
add a comment |
Magento 2.3.1
After making the data patch @ following location
vendor/ModuleName/Setup/Patch/Data/AddMyColumnPatch.php
code given below for AddMyColumnPatch.php. When I run bin/magento setup:upgrade to get this patch installed I get following error at cli.
DDL statements are not allowed in transactions
I have used following file as reference to add column to my table using data patch.
vendor/magento/module-quote/Setup/Patch/Data/InstallEntityTypes.php
Follow lines from 47 to 65
My AddMyColumnPatch.php code is:
<?php
namespace VendorModuleNameSetupPatchData;
use MagentoFrameworkSetupPatchDataPatchInterface;
use MagentoFrameworkSetupModuleDataSetupInterface;
use MagentoFrameworkSetupPatchPatchRevertableInterface;
use MagentoQuoteSetupQuoteSetupFactory;
use MagentoSalesSetupSalesSetupFactory;
use PsrLogLoggerInterface;
/**
*/
class AddressSuburbPatch implements DataPatchInterface, PatchRevertableInterface
/**
* Attribute Code of the Custom Attribute
*/
const CUSTOM_ATTRIBUTE_CODE = 'my_column';
/**
* @var MagentoFrameworkSetupModuleDataSetupInterface
*/
private $moduleDataSetup;
/**
* @var MagentoQuoteSetupQuoteSetupFactory
*/
private $quoteSetupFactory;
/**
* @var MagentoSalesSetupSalesSetupFactory
*/
private $salesSetupFactory;
/**
* @var PsrLogLoggerInterface
*/
private $logger;
/**
* @param MagentoFrameworkSetupModuleDataSetupInterface $moduleDataSetup
*/
public function __construct(
ModuleDataSetupInterface $moduleDataSetup,
QuoteSetupFactory $quoteSetupFactory,
SalesSetupFactory $salesSetupFactory,
LoggerInterface $logger
)
$this->moduleDataSetup = $moduleDataSetup;
$this->quoteSetupFactory = $quoteSetupFactory;
$this->salesSetupFactory = $salesSetupFactory;
$this->logger = $logger;
/**
* @inheritdoc
*/
public function apply()
$this->moduleDataSetup->getConnection()->startSetup();
$this->logger->debug('DDL Statements error');
$quoteSetup = $this->quoteSetupFactory->create(['setup' => $this->moduleDataSetup]);
$quoteSetup->addAttribute('quote_address', self::CUSTOM_ATTRIBUTE_CODE, ['type' => 'text']);
$salesSetup = $this->salesSetupFactory->create(['setup' => $this->moduleDataSetup]);
$salesSetup->addAttribute('order_address', self::CUSTOM_ATTRIBUTE_CODE, ['type' => 'text']);
$this->logger->debug('Script working');
$this->moduleDataSetup->getConnection()->endSetup();
/**
* @inheritdoc
*/
public static function getDependencies()
return [
];
public function revert()
$this->moduleDataSetup->getConnection()->startSetup();
$this->moduleDataSetup->getConnection()->endSetup();
/**
* @inheritdoc
*/
public function getAliases()
return [];
magento2 patches magento2.3.1 setup-script declarative-schema
add a comment |
Magento 2.3.1
After making the data patch @ following location
vendor/ModuleName/Setup/Patch/Data/AddMyColumnPatch.php
code given below for AddMyColumnPatch.php. When I run bin/magento setup:upgrade to get this patch installed I get following error at cli.
DDL statements are not allowed in transactions
I have used following file as reference to add column to my table using data patch.
vendor/magento/module-quote/Setup/Patch/Data/InstallEntityTypes.php
Follow lines from 47 to 65
My AddMyColumnPatch.php code is:
<?php
namespace VendorModuleNameSetupPatchData;
use MagentoFrameworkSetupPatchDataPatchInterface;
use MagentoFrameworkSetupModuleDataSetupInterface;
use MagentoFrameworkSetupPatchPatchRevertableInterface;
use MagentoQuoteSetupQuoteSetupFactory;
use MagentoSalesSetupSalesSetupFactory;
use PsrLogLoggerInterface;
/**
*/
class AddressSuburbPatch implements DataPatchInterface, PatchRevertableInterface
/**
* Attribute Code of the Custom Attribute
*/
const CUSTOM_ATTRIBUTE_CODE = 'my_column';
/**
* @var MagentoFrameworkSetupModuleDataSetupInterface
*/
private $moduleDataSetup;
/**
* @var MagentoQuoteSetupQuoteSetupFactory
*/
private $quoteSetupFactory;
/**
* @var MagentoSalesSetupSalesSetupFactory
*/
private $salesSetupFactory;
/**
* @var PsrLogLoggerInterface
*/
private $logger;
/**
* @param MagentoFrameworkSetupModuleDataSetupInterface $moduleDataSetup
*/
public function __construct(
ModuleDataSetupInterface $moduleDataSetup,
QuoteSetupFactory $quoteSetupFactory,
SalesSetupFactory $salesSetupFactory,
LoggerInterface $logger
)
$this->moduleDataSetup = $moduleDataSetup;
$this->quoteSetupFactory = $quoteSetupFactory;
$this->salesSetupFactory = $salesSetupFactory;
$this->logger = $logger;
/**
* @inheritdoc
*/
public function apply()
$this->moduleDataSetup->getConnection()->startSetup();
$this->logger->debug('DDL Statements error');
$quoteSetup = $this->quoteSetupFactory->create(['setup' => $this->moduleDataSetup]);
$quoteSetup->addAttribute('quote_address', self::CUSTOM_ATTRIBUTE_CODE, ['type' => 'text']);
$salesSetup = $this->salesSetupFactory->create(['setup' => $this->moduleDataSetup]);
$salesSetup->addAttribute('order_address', self::CUSTOM_ATTRIBUTE_CODE, ['type' => 'text']);
$this->logger->debug('Script working');
$this->moduleDataSetup->getConnection()->endSetup();
/**
* @inheritdoc
*/
public static function getDependencies()
return [
];
public function revert()
$this->moduleDataSetup->getConnection()->startSetup();
$this->moduleDataSetup->getConnection()->endSetup();
/**
* @inheritdoc
*/
public function getAliases()
return [];
magento2 patches magento2.3.1 setup-script declarative-schema
Magento 2.3.1
After making the data patch @ following location
vendor/ModuleName/Setup/Patch/Data/AddMyColumnPatch.php
code given below for AddMyColumnPatch.php. When I run bin/magento setup:upgrade to get this patch installed I get following error at cli.
DDL statements are not allowed in transactions
I have used following file as reference to add column to my table using data patch.
vendor/magento/module-quote/Setup/Patch/Data/InstallEntityTypes.php
Follow lines from 47 to 65
My AddMyColumnPatch.php code is:
<?php
namespace VendorModuleNameSetupPatchData;
use MagentoFrameworkSetupPatchDataPatchInterface;
use MagentoFrameworkSetupModuleDataSetupInterface;
use MagentoFrameworkSetupPatchPatchRevertableInterface;
use MagentoQuoteSetupQuoteSetupFactory;
use MagentoSalesSetupSalesSetupFactory;
use PsrLogLoggerInterface;
/**
*/
class AddressSuburbPatch implements DataPatchInterface, PatchRevertableInterface
/**
* Attribute Code of the Custom Attribute
*/
const CUSTOM_ATTRIBUTE_CODE = 'my_column';
/**
* @var MagentoFrameworkSetupModuleDataSetupInterface
*/
private $moduleDataSetup;
/**
* @var MagentoQuoteSetupQuoteSetupFactory
*/
private $quoteSetupFactory;
/**
* @var MagentoSalesSetupSalesSetupFactory
*/
private $salesSetupFactory;
/**
* @var PsrLogLoggerInterface
*/
private $logger;
/**
* @param MagentoFrameworkSetupModuleDataSetupInterface $moduleDataSetup
*/
public function __construct(
ModuleDataSetupInterface $moduleDataSetup,
QuoteSetupFactory $quoteSetupFactory,
SalesSetupFactory $salesSetupFactory,
LoggerInterface $logger
)
$this->moduleDataSetup = $moduleDataSetup;
$this->quoteSetupFactory = $quoteSetupFactory;
$this->salesSetupFactory = $salesSetupFactory;
$this->logger = $logger;
/**
* @inheritdoc
*/
public function apply()
$this->moduleDataSetup->getConnection()->startSetup();
$this->logger->debug('DDL Statements error');
$quoteSetup = $this->quoteSetupFactory->create(['setup' => $this->moduleDataSetup]);
$quoteSetup->addAttribute('quote_address', self::CUSTOM_ATTRIBUTE_CODE, ['type' => 'text']);
$salesSetup = $this->salesSetupFactory->create(['setup' => $this->moduleDataSetup]);
$salesSetup->addAttribute('order_address', self::CUSTOM_ATTRIBUTE_CODE, ['type' => 'text']);
$this->logger->debug('Script working');
$this->moduleDataSetup->getConnection()->endSetup();
/**
* @inheritdoc
*/
public static function getDependencies()
return [
];
public function revert()
$this->moduleDataSetup->getConnection()->startSetup();
$this->moduleDataSetup->getConnection()->endSetup();
/**
* @inheritdoc
*/
public function getAliases()
return [];
magento2 patches magento2.3.1 setup-script declarative-schema
magento2 patches magento2.3.1 setup-script declarative-schema
asked Jun 6 at 7:33
FarhanSFarhanS
857
857
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
After going through Declarative Schema docs again and referencing core magento code for Quote Module and Paypal Module I have figured that if you want to add a field into the existing table in Magento 2.3 you should use Configure declarative schema for that. Read more -
https://devdocs.magento.com/guides/v2.3/extension-dev-guide/declarative-schema/db-schema.html
So create a db_schema.xml file under Vendor/ModuleName/etc
<?xml version="1.0"?>
<schema xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="urn:magento:framework:Setup/Declaration/Schema/etc/schema.xsd">
<table name="quote_address" resource="checkout" comment="Sales Flat Quote Address">
<column xsi:type="varchar" name="suburb" nullable="true" length="255" comment="Suburb for Quote Address"/>
</table>
<table name="sales_order_address" resource="sales" comment="Sales Flat Order Address">
<column xsi:type="varchar" name="mycolumn" nullable="true" length="255" comment="mycolumn for Sales Order Address"/>
</table>
</schema>
Then generate whitelist for your db_schema as follows
bin/magento setup:db-declaration:generate-whitelist --module-name=Vendor_ModuleName
Run again and your column will be added to quote_address and order_sales_address tables.
bin/magento setup:upgrade
However, further investigation revealed that there is no need of making data patch for adding columns in flat tables quote_address and sales_order_address. Only declaring columns in db_schema.xml will do the job.
add a comment |
Your Answer
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "479"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f277432%2ferror-ddl-statements-are-not-allowed-in-transactions-while-running-setupupgrad%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
After going through Declarative Schema docs again and referencing core magento code for Quote Module and Paypal Module I have figured that if you want to add a field into the existing table in Magento 2.3 you should use Configure declarative schema for that. Read more -
https://devdocs.magento.com/guides/v2.3/extension-dev-guide/declarative-schema/db-schema.html
So create a db_schema.xml file under Vendor/ModuleName/etc
<?xml version="1.0"?>
<schema xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="urn:magento:framework:Setup/Declaration/Schema/etc/schema.xsd">
<table name="quote_address" resource="checkout" comment="Sales Flat Quote Address">
<column xsi:type="varchar" name="suburb" nullable="true" length="255" comment="Suburb for Quote Address"/>
</table>
<table name="sales_order_address" resource="sales" comment="Sales Flat Order Address">
<column xsi:type="varchar" name="mycolumn" nullable="true" length="255" comment="mycolumn for Sales Order Address"/>
</table>
</schema>
Then generate whitelist for your db_schema as follows
bin/magento setup:db-declaration:generate-whitelist --module-name=Vendor_ModuleName
Run again and your column will be added to quote_address and order_sales_address tables.
bin/magento setup:upgrade
However, further investigation revealed that there is no need of making data patch for adding columns in flat tables quote_address and sales_order_address. Only declaring columns in db_schema.xml will do the job.
add a comment |
After going through Declarative Schema docs again and referencing core magento code for Quote Module and Paypal Module I have figured that if you want to add a field into the existing table in Magento 2.3 you should use Configure declarative schema for that. Read more -
https://devdocs.magento.com/guides/v2.3/extension-dev-guide/declarative-schema/db-schema.html
So create a db_schema.xml file under Vendor/ModuleName/etc
<?xml version="1.0"?>
<schema xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="urn:magento:framework:Setup/Declaration/Schema/etc/schema.xsd">
<table name="quote_address" resource="checkout" comment="Sales Flat Quote Address">
<column xsi:type="varchar" name="suburb" nullable="true" length="255" comment="Suburb for Quote Address"/>
</table>
<table name="sales_order_address" resource="sales" comment="Sales Flat Order Address">
<column xsi:type="varchar" name="mycolumn" nullable="true" length="255" comment="mycolumn for Sales Order Address"/>
</table>
</schema>
Then generate whitelist for your db_schema as follows
bin/magento setup:db-declaration:generate-whitelist --module-name=Vendor_ModuleName
Run again and your column will be added to quote_address and order_sales_address tables.
bin/magento setup:upgrade
However, further investigation revealed that there is no need of making data patch for adding columns in flat tables quote_address and sales_order_address. Only declaring columns in db_schema.xml will do the job.
add a comment |
After going through Declarative Schema docs again and referencing core magento code for Quote Module and Paypal Module I have figured that if you want to add a field into the existing table in Magento 2.3 you should use Configure declarative schema for that. Read more -
https://devdocs.magento.com/guides/v2.3/extension-dev-guide/declarative-schema/db-schema.html
So create a db_schema.xml file under Vendor/ModuleName/etc
<?xml version="1.0"?>
<schema xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="urn:magento:framework:Setup/Declaration/Schema/etc/schema.xsd">
<table name="quote_address" resource="checkout" comment="Sales Flat Quote Address">
<column xsi:type="varchar" name="suburb" nullable="true" length="255" comment="Suburb for Quote Address"/>
</table>
<table name="sales_order_address" resource="sales" comment="Sales Flat Order Address">
<column xsi:type="varchar" name="mycolumn" nullable="true" length="255" comment="mycolumn for Sales Order Address"/>
</table>
</schema>
Then generate whitelist for your db_schema as follows
bin/magento setup:db-declaration:generate-whitelist --module-name=Vendor_ModuleName
Run again and your column will be added to quote_address and order_sales_address tables.
bin/magento setup:upgrade
However, further investigation revealed that there is no need of making data patch for adding columns in flat tables quote_address and sales_order_address. Only declaring columns in db_schema.xml will do the job.
After going through Declarative Schema docs again and referencing core magento code for Quote Module and Paypal Module I have figured that if you want to add a field into the existing table in Magento 2.3 you should use Configure declarative schema for that. Read more -
https://devdocs.magento.com/guides/v2.3/extension-dev-guide/declarative-schema/db-schema.html
So create a db_schema.xml file under Vendor/ModuleName/etc
<?xml version="1.0"?>
<schema xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="urn:magento:framework:Setup/Declaration/Schema/etc/schema.xsd">
<table name="quote_address" resource="checkout" comment="Sales Flat Quote Address">
<column xsi:type="varchar" name="suburb" nullable="true" length="255" comment="Suburb for Quote Address"/>
</table>
<table name="sales_order_address" resource="sales" comment="Sales Flat Order Address">
<column xsi:type="varchar" name="mycolumn" nullable="true" length="255" comment="mycolumn for Sales Order Address"/>
</table>
</schema>
Then generate whitelist for your db_schema as follows
bin/magento setup:db-declaration:generate-whitelist --module-name=Vendor_ModuleName
Run again and your column will be added to quote_address and order_sales_address tables.
bin/magento setup:upgrade
However, further investigation revealed that there is no need of making data patch for adding columns in flat tables quote_address and sales_order_address. Only declaring columns in db_schema.xml will do the job.
edited yesterday
answered Jun 7 at 5:23
FarhanSFarhanS
857
857
add a comment |
add a comment |
Thanks for contributing an answer to Magento Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f277432%2ferror-ddl-statements-are-not-allowed-in-transactions-while-running-setupupgrad%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown